//
//  ContentInsetAdjustmentBehavior.swift
//  Documentation
//
//  Created by Toj on 1/12/23.
//
// scrollView(包括子类) 内容插入调整行为

import Foundation

// MARK: - ContentInsetAdjustmentBehavior
enum ContentInsetAdjustmentBehavior {
    // 系统默认值.
    // scrollView.adjustedContentInset对应的top与bottom方向值, 只可垂直方向滚动同理,
    // 直接设置scrollView.scrollEnabled = NO也同理
    // 文档上是这样说的:
    // 它与UIScrollViewContentInsetAdjustmentScrollableAxes行为相似,
    // 但是为了兼容以前①这种情况, 即使scrollView是不可滚动, 也会根据safeAreaInsets超出范围进行调整.
    case automatic
    
    // 系统会根据ScrollView的滚动方向来进行判断
    // 假设我只是一个横向滚动的ScrollView
    // 那即便我的布局起点和高度值超过了self.view的安全区, 那么系统也不会调整
    case scrollableAxes
    
    // 就算你的ScrollView超出了safeAreaInsets
    // 系统不会对你的scrollView.adjustedContentInset做任何事情
    // 即不作任何调整
    case never
    
    // 只要超了安全区，就调整相应的超出值
    // 调整的最大值不会超过安全区相应EdgeInsets方向的最大值, 如刚刚上述第2点
    case always
}
